#!/bin/bash

# 前端启动脚本
# System Admin Frontend Startup Script

set -e

echo "🚀 启动前端开发服务器..."
echo "================================"

# 检查 Node.js 版本
if ! command -v node &> /dev/null; then
    echo "❌ Node.js 未安装，请先安装 Node.js"
    exit 1
fi

echo "📦 Node.js 版本: $(node --version)"
echo "📦 npm 版本: $(npm --version)"

# 进入前端目录
cd "$(dirname "$0")/../frontend"

echo "📁 当前目录: $(pwd)"

# 检查 package.json 是否存在
if [ ! -f "package.json" ]; then
    echo "❌ package.json 不存在，请检查前端目录"
    exit 1
fi

# 检查并安装依赖
if [ ! -d "node_modules" ] || [ ! -f "package-lock.json" ]; then
    echo "📥 安装前端依赖..."
    npm install
    
    # 如果安装失败，尝试清理缓存后重试
    if [ $? -ne 0 ]; then
        echo "⚠️  依赖安装失败，清理缓存后重试..."
        npm cache clean --force
        rm -rf node_modules package-lock.json
        npm install
    fi
fi

# 检查端口是否被占用
PORT=8000
if lsof -i :$PORT &> /dev/null; then
    echo "⚠️  端口 $PORT 已被占用，尝试终止占用进程..."
    lsof -ti :$PORT | xargs kill -9 2>/dev/null || true
    sleep 2
fi

echo "🎯 启动前端开发服务器 (端口: $PORT)..."
echo "📖 访问地址: http://localhost:$PORT"
echo "🛑 按 Ctrl+C 停止服务"
echo "================================"

# 启动开发服务器
npm run start